import os
import re
from pathlib import Path
def build_file_list_from_path(path=Path('..')):
empty_list = []
# Build a list of every file directory in the given folder
for root, dirs, files in os.walk(path.resolve()):
print(root)
# Filter out directories that contain unimportant or hidden files
dirs[:] = [d for d in dirs if not d[0] == '.']
dirs[:] = [d for d in dirs if not d[0] == '_']
# use files and dirs
for directory in dirs:
print(f"\n\nSaving files in: {root}/{directory}")
directory = Path(f"{root}/{directory}")
for file_var in os.listdir(directory):
root_dir = Path(f"{root}")
print(f"Saving: {Path(root/directory/file_var)}")
empty_list.append(f"{Path(root/directory/file_var)}")
return empty_list
list_of_files = build_file_list_from_path()
C:\Users\drpar\PycharmProjects\civilpy Saving files in: C:\Users\drpar\PycharmProjects\civilpy/civilpy Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\CLI.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\construction Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\environmental Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\general Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\geotechnical Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\state Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\structural Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\transportation Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\water_resources Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\webpages Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\__init__.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\__pycache__ Saving files in: C:\Users\drpar\PycharmProjects\civilpy/docs Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\civilpy.construction.rst Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\civilpy.environmental.rst Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\civilpy.general.rst Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\civilpy.geotechnical.rst Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\civilpy.rst Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\civilpy.state.ohio.rst Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\civilpy.state.rst Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\civilpy.structural.rst Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\civilpy.transportation.rst Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\civilpy.water_resources.rst Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\conf.py Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\index.rst Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\make.bat Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\Makefile Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\modules.rst Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\_build Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\_static Saving: C:\Users\drpar\PycharmProjects\civilpy\docs\_templates Saving files in: C:\Users\drpar\PycharmProjects\civilpy/res Saving: C:\Users\drpar\PycharmProjects\civilpy\res\0617.laz Saving: C:\Users\drpar\PycharmProjects\civilpy\res\0617.pod Saving: C:\Users\drpar\PycharmProjects\civilpy\res\0617_Cloud.xyz Saving: C:\Users\drpar\PycharmProjects\civilpy\res\2022AllRecordsDelimitedAllStates.txt Saving: C:\Users\drpar\PycharmProjects\civilpy\res\ODOT_sample_plans.pdf Saving: C:\Users\drpar\PycharmProjects\civilpy\res\ODOT_sample_plans_modified.pdf Saving: C:\Users\drpar\PycharmProjects\civilpy\res\ohio_fips.csv Saving: C:\Users\drpar\PycharmProjects\civilpy\res\Ohio_Fips.pdf Saving: C:\Users\drpar\PycharmProjects\civilpy\res\Ohio_NBI.txt Saving: C:\Users\drpar\PycharmProjects\civilpy\res\photos Saving: C:\Users\drpar\PycharmProjects\civilpy\res\Proposed 808.hy8 Saving: C:\Users\drpar\PycharmProjects\civilpy\res\sample.tif Saving files in: C:\Users\drpar\PycharmProjects\civilpy/secrets Saving: C:\Users\drpar\PycharmProjects\civilpy\secrets\secrets.json Saving files in: C:\Users\drpar\PycharmProjects\civilpy/tests Saving: C:\Users\drpar\PycharmProjects\civilpy\tests\.ipynb_checkpoints Saving: C:\Users\drpar\PycharmProjects\civilpy\tests\tests.ipynb Saving: C:\Users\drpar\PycharmProjects\civilpy\tests\test_ohio_dot_bridge.py Saving: C:\Users\drpar\PycharmProjects\civilpy\tests\test_ohio_dot_functions.py Saving: C:\Users\drpar\PycharmProjects\civilpy\tests\test_ohio_dot_project.py Saving: C:\Users\drpar\PycharmProjects\civilpy\tests\test_ohio_dot_snbi_transfer.py Saving: C:\Users\drpar\PycharmProjects\civilpy\tests\test_steel.py Saving: C:\Users\drpar\PycharmProjects\civilpy\tests\__pycache__ Saving files in: C:\Users\drpar\PycharmProjects\civilpy/Training Saving: C:\Users\drpar\PycharmProjects\civilpy\Training\.ipynb_checkpoints Saving: C:\Users\drpar\PycharmProjects\civilpy\Training\NBI Standards - Conversion (Clean).ipynb Saving: C:\Users\drpar\PycharmProjects\civilpy\Training\NBI Standards - Conversion (Verbose).ipynb Saving: C:\Users\drpar\PycharmProjects\civilpy\Training\PDP and Design Integrations.ipynb Saving: C:\Users\drpar\PycharmProjects\civilpy\Training\Software Development and Systems Integrations for Civil Engineers.ipynb Saving: C:\Users\drpar\PycharmProjects\civilpy\Training\TIMs API.ipynb Saving: C:\Users\drpar\PycharmProjects\civilpy\Training\Useful Tricks and Tools.ipynb Saving: C:\Users\drpar\PycharmProjects\civilpy\Training\__pycache__ C:\Users\drpar\PycharmProjects\civilpy\civilpy Saving files in: C:\Users\drpar\PycharmProjects\civilpy\civilpy/construction Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\construction\__init__.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\construction\__pycache__ Saving files in: C:\Users\drpar\PycharmProjects\civilpy\civilpy/environmental Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\environmental\__init__.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\environmental\__pycache__ Saving files in: C:\Users\drpar\PycharmProjects\civilpy\civilpy/general Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\general\database_tools.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\general\gis.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\general\kml_tools.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\general\math.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\general\microstation.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\general\pdf.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\general\photos.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\general\physics.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\general\plan_development.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\general\pointclouds.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\general\__init__.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\general\__pycache__ Saving files in: C:\Users\drpar\PycharmProjects\civilpy\civilpy/geotechnical Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\geotechnical\__init__.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\geotechnical\__pycache__ Saving files in: C:\Users\drpar\PycharmProjects\civilpy\civilpy/state Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\state\ohio Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\state\__init__.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\state\__pycache__ Saving files in: C:\Users\drpar\PycharmProjects\civilpy\civilpy/structural Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\structural\beam_bending.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\structural\res Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\structural\search_tools.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\structural\steel.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\structural\__init__.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\structural\__pycache__ Saving files in: C:\Users\drpar\PycharmProjects\civilpy\civilpy/transportation Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\transportation\__init__.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\transportation\__pycache__ Saving files in: C:\Users\drpar\PycharmProjects\civilpy\civilpy/water_resources Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\water_resources\hydraulics.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\water_resources\__init__.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\water_resources\__pycache__ Saving files in: C:\Users\drpar\PycharmProjects\civilpy\civilpy/webpages Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\webpages\index.html C:\Users\drpar\PycharmProjects\civilpy\civilpy\construction C:\Users\drpar\PycharmProjects\civilpy\civilpy\environmental C:\Users\drpar\PycharmProjects\civilpy\civilpy\general C:\Users\drpar\PycharmProjects\civilpy\civilpy\geotechnical C:\Users\drpar\PycharmProjects\civilpy\civilpy\state Saving files in: C:\Users\drpar\PycharmProjects\civilpy\civilpy\state/ohio Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\state\ohio\dot.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\state\ohio\snbi.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\state\ohio\__init__.py Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\state\ohio\__pycache__ C:\Users\drpar\PycharmProjects\civilpy\civilpy\state\ohio C:\Users\drpar\PycharmProjects\civilpy\civilpy\structural Saving files in: C:\Users\drpar\PycharmProjects\civilpy\civilpy\structural/res Saving: C:\Users\drpar\PycharmProjects\civilpy\civilpy\structural\res\steel_shapes.csv C:\Users\drpar\PycharmProjects\civilpy\civilpy\structural\res C:\Users\drpar\PycharmProjects\civilpy\civilpy\transportation C:\Users\drpar\PycharmProjects\civilpy\civilpy\water_resources C:\Users\drpar\PycharmProjects\civilpy\civilpy\webpages C:\Users\drpar\PycharmProjects\civilpy\docs C:\Users\drpar\PycharmProjects\civilpy\res Saving files in: C:\Users\drpar\PycharmProjects\civilpy\res/photos Saving: C:\Users\drpar\PycharmProjects\civilpy\res\photos\demo_photo_1.JPG Saving: C:\Users\drpar\PycharmProjects\civilpy\res\photos\demo_photo_2.JPG Saving: C:\Users\drpar\PycharmProjects\civilpy\res\photos\demo_photo_3.JPG Saving: C:\Users\drpar\PycharmProjects\civilpy\res\photos\demo_photo_4.jpg Saving: C:\Users\drpar\PycharmProjects\civilpy\res\photos\demo_photo_5.jpg Saving: C:\Users\drpar\PycharmProjects\civilpy\res\photos\demo_photo_6.jpg C:\Users\drpar\PycharmProjects\civilpy\res\photos C:\Users\drpar\PycharmProjects\civilpy\secrets C:\Users\drpar\PycharmProjects\civilpy\tests C:\Users\drpar\PycharmProjects\civilpy\Training
from pprint import pprint
for file in list_of_files:
pprint(str(file))
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\CLI.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\construction'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\environmental'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\general'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\geotechnical'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\state'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\structural'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\transportation'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\water_resources'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\webpages'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\__init__.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\__pycache__'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\civilpy.construction.rst'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\civilpy.environmental.rst'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\civilpy.general.rst'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\civilpy.geotechnical.rst'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\civilpy.rst'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\civilpy.state.ohio.rst'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\civilpy.state.rst'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\civilpy.structural.rst'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\civilpy.transportation.rst'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\civilpy.water_resources.rst'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\conf.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\index.rst'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\make.bat'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\Makefile'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\modules.rst'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\_build'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\_static'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\docs\\_templates'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\0617.laz'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\0617.pod'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\0617_Cloud.xyz'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\2022AllRecordsDelimitedAllStates.txt'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\ODOT_sample_plans.pdf'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\ODOT_sample_plans_modified.pdf'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\ohio_fips.csv'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\Ohio_Fips.pdf'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\Ohio_NBI.txt'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\photos'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\Proposed 808.hy8'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\sample.tif'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\secrets\\secrets.json'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\tests\\.ipynb_checkpoints'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\tests\\tests.ipynb'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\tests\\test_ohio_dot_bridge.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\tests\\test_ohio_dot_functions.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\tests\\test_ohio_dot_project.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\tests\\test_ohio_dot_snbi_transfer.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\tests\\test_steel.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\tests\\__pycache__'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\Training\\.ipynb_checkpoints'
('C:\\Users\\drpar\\PycharmProjects\\civilpy\\Training\\NBI Standards - '
'Conversion (Clean).ipynb')
('C:\\Users\\drpar\\PycharmProjects\\civilpy\\Training\\NBI Standards - '
'Conversion (Verbose).ipynb')
('C:\\Users\\drpar\\PycharmProjects\\civilpy\\Training\\PDP and Design '
'Integrations.ipynb')
('C:\\Users\\drpar\\PycharmProjects\\civilpy\\Training\\Software Development '
'and Systems Integrations for Civil Engineers.ipynb')
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\Training\\TIMs API.ipynb'
('C:\\Users\\drpar\\PycharmProjects\\civilpy\\Training\\Useful Tricks and '
'Tools.ipynb')
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\Training\\__pycache__'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\construction\\__init__.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\construction\\__pycache__'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\environmental\\__init__.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\environmental\\__pycache__'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\general\\database_tools.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\general\\gis.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\general\\kml_tools.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\general\\math.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\general\\microstation.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\general\\pdf.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\general\\photos.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\general\\physics.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\general\\plan_development.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\general\\pointclouds.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\general\\__init__.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\general\\__pycache__'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\geotechnical\\__init__.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\geotechnical\\__pycache__'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\state\\ohio'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\state\\__init__.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\state\\__pycache__'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\structural\\beam_bending.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\structural\\res'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\structural\\search_tools.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\structural\\steel.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\structural\\__init__.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\structural\\__pycache__'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\transportation\\__init__.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\transportation\\__pycache__'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\water_resources\\hydraulics.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\water_resources\\__init__.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\water_resources\\__pycache__'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\webpages\\index.html'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\state\\ohio\\dot.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\state\\ohio\\snbi.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\state\\ohio\\__init__.py'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\state\\ohio\\__pycache__'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\civilpy\\structural\\res\\steel_shapes.csv'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\photos\\demo_photo_1.JPG'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\photos\\demo_photo_2.JPG'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\photos\\demo_photo_3.JPG'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\photos\\demo_photo_4.jpg'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\photos\\demo_photo_5.jpg'
'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\photos\\demo_photo_6.jpg'
photos = [ fi for fi in list_of_files if re.search("(svg|heif|bmp|tiff|webp|jpeg|png|jpg)$", str(fi), re.IGNORECASE)]
photos
['C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\photos\\demo_photo_1.JPG', 'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\photos\\demo_photo_2.JPG', 'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\photos\\demo_photo_3.JPG', 'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\photos\\demo_photo_4.jpg', 'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\photos\\demo_photo_5.jpg', 'C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\photos\\demo_photo_6.jpg']
from PIL import Image
from PIL.Image import Exif
from PIL.ExifTags import TAGS, GPSTAGS
def get_exif(file_name) -> Exif:
image: Image.Image = Image.open(file_name)
return image.getexif()
def get_geo(exif):
for key, value in TAGS.items():
if value == "GPSInfo":
break
gps_info = exif.get_ifd(key)
return {
GPSTAGS.get(key, key): value
for key, value in gps_info.items()
}
photo_dict = {}
for photo in photos:
exif = get_exif(photo)
geo = get_geo(exif)
photo_dict[photo] = geo
gps_info = photo_dict['C:\\Users\\drpar\\PycharmProjects\\civilpy\\res\\photos\\demo_photo_5.jpg']
#Get Latitude and Longitude
lat=gps_info['GPSLatitude']
long=gps_info['GPSLongitude']
#Convert to degrees
lat=float(lat[0]+(lat[1]/60)+(lat[2]/(3600*100)))
long=float(long[0]+(long[1]/60)+(long[2]/(3600*100)))
#Negative if LatitudeRef:S or LongitudeRef:W
if gps_info['GPSLatitudeRef']=='S':
lat=-lat
if gps_info['GPSLongitudeRef']=='W':
long=-long
import folium
# Create map
m=folium.Map(location=[lat,long],zoom_start=5)
# Add Circle Marker
folium.CircleMarker(location=[lat,long],fill=True, color='red',fill_color='red').add_to(m)
# View Map
m
%pip install folium
Requirement already satisfied: folium in c:\users\drpar\anaconda3\envs\civilpy_3.6\lib\site-packages (0.4.0) Requirement already satisfied: branca in c:\users\drpar\anaconda3\envs\civilpy_3.6\lib\site-packages (from folium) (0.4.2) Requirement already satisfied: jinja2 in c:\users\drpar\anaconda3\envs\civilpy_3.6\lib\site-packages (from folium) (3.0.3) Requirement already satisfied: requests in c:\users\drpar\anaconda3\envs\civilpy_3.6\lib\site-packages (from folium) (2.27.1) Requirement already satisfied: six in c:\users\drpar\anaconda3\envs\civilpy_3.6\lib\site-packages (from folium) (1.16.0) Requirement already satisfied: MarkupSafe>=2.0 in c:\users\drpar\anaconda3\envs\civilpy_3.6\lib\site-packages (from jinja2->folium) (2.0.1) Requirement already satisfied: charset-normalizer~=2.0.0; python_version >= "3" in c:\users\drpar\anaconda3\envs\civilpy_3.6\lib\site-packages (from requests->folium) (2.0.12) Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\users\drpar\anaconda3\envs\civilpy_3.6\lib\site-packages (from requests->folium) (1.26.14) Requirement already satisfied: idna<4,>=2.5; python_version >= "3" in c:\users\drpar\anaconda3\envs\civilpy_3.6\lib\site-packages (from requests->folium) (3.4) Requirement already satisfied: certifi>=2017.4.17 in c:\users\drpar\anaconda3\envs\civilpy_3.6\lib\site-packages (from requests->folium) (2021.5.30) Note: you may need to restart the kernel to use updated packages.
img = Image.open(photos[4])
img